﻿using MiniFox.Infrastructure;
using MiniFox.Infrastructure.Attributes;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Sys.Core.Models.Queries
{
    public class MessageQuery
    {
        /// <summary>
        /// 
        /// </summary>
        [TargetProperty("GroupName", QueryOperation.Equal)]
        public string? GroupName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [TargetProperty("ReceiverName", QueryOperation.Contain)]
        public string? Receiver { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [TargetProperty("TemplateName", QueryOperation.Equal)]
        public string? TemplateName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [TargetProperty("Title", QueryOperation.Contain)]
        public string? Title { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [TargetProperty("SendTime", QueryOperation.GreaterThanOrEqual)]
        public DateTime? BeginTime { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [TargetProperty("SendTime", QueryOperation.LessThanOrEqual)]
        public DateTime? EndTime { get; set; }
    }
}
